package com.emmmya.ocs.modules.system.vo;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.emmmya.ocs.modules.system.entity.SysLog;
import com.emmmya.ocs.common.base.BaseVo;
import com.emmmya.ocs.common.utils.DateUtils;
import lombok.Data;
import lombok.ToString;
import org.thymeleaf.util.StringUtils;

import java.text.ParseException;

/**
 * @description:
 * @author: 咕噜肉IT小店-黑医
 * @createDate: 2020-12-11
 * @version: 1.0
 */
@Data
@ToString
public class SysLogVo extends BaseVo<SysLog> {
    //当前页码
    private Integer page;
    //每页数量
    private Integer limit;
    //开始时间
    private String start;
    //结束时间
    private String end;
    //操作人
    private String username;
    //操作模块
    private String module;

    /**
     * 操作内容
     */
    private String logContent;

    @Override
    public QueryWrapper<SysLog> createWrapper() {
        wrapper = new QueryWrapper<SysLog>();
        try {
            if(!StringUtils.isEmpty(start)) {
                wrapper.ge("create_time", DateUtils.parseDate(start + " 00:00:00"));
            }
            if(!StringUtils.isEmpty(end)) {
                wrapper.le("create_time", DateUtils.parseDate(end + " 23:59:59"));
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        if(!StringUtils.isEmpty(username)) {
            wrapper.eq("username", username);
        }
        if(!StringUtils.isEmpty(module)) {
            wrapper.eq("module", module);
        }
        if(!StringUtils.isEmpty(logContent)) {
            wrapper.eq("log_Content", logContent);
        }

        //根据创建时间降序
        wrapper.orderByDesc("create_time");
        return wrapper;
    }

    @Override
    public IPage<SysLog> createPage() {
        return new Page<SysLog>(this.getPage(),this.getLimit());
    }
}
